<?php

namespace app\admin\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Option;
use think\console\Output;
use think\Db;
use think\Exception;

class Pay extends Command
{
    protected function configure()
    {
        //命令的描述
        $this
            ->setName('pay')
            ->setDescription('支付订单计划任务');
    }

    protected function execute(Input $input, Output $output)
    {
        $PayList=Db::name('pay')->where(['status'=>'0'])->select();
        if(!$PayList){
            $output->info('目前暂无待支付的订单');
            return false;
        }
        $ids = [];
        foreach($PayList as $item){
            $endTime=$item['createtime']+(60*3);
            if(time()>=$endTime){
                $ids[] = $item['id'];
            }
        }
        if(empty($ids)){
            $output->info('目前没有待支付的订单');
            return false;
        }
        $result=Db::name('pay')->where('id','IN',$ids)->update(['status'=>'2']);
        if($result === false)
        {
            $output->error('执行数据库语句失败');
        }

        // 输出
        $output->info("已执行完成 $result 个");
        return false;
    }
}
